package cs4280.ass2.entity;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

public abstract class User extends AuditableEntity {
	private static final long serialVersionUID = 1L;
	private String firstName;
	private String lastName;
	private String login;
	private String password;
	private String type;
	private String appUserStatus;

	public static final String APP_USER_ACTIVE = "APP_USER_ACTIVE";
	public static final String APP_USER_DELETED = "APP_USER_DELETED";

	public static final String USER_TYPE_MEMBER = "USER_TYPE_MEMBER";
	public static final String USER_TYPE_OFFCIER = "USER_TYPE_OFFCIER";
	public static final String USER_TYPE_MANAGER = "USER_TYPE_MANAGER";

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getLogin() {
		return login;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return password;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getAppUserStatus() {
		return appUserStatus;
	}

	public void setAppUserStatus(String appUserStatus) {
		this.appUserStatus = appUserStatus;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
	}
}
